diff --git a/system/database/DB_forge.php b/system/database/DB_forge.php
index 06e47a6..bb1ee48 100644
--- a/system/database/DB_forge.php
+++ b/system/database/DB_forge.php
@@ -642,7 +642,7 @@
 			show_error('Field information is required.');
 		}
 
-		$sqls = $this->_alter_table('CHANGE', $this->db->dbprefix.$table, $this->fields);
+		$sqls = $this->_alter_table('CHANGE', $this->db->dbprefix.$table, $this->_process_fields());
 		$this->_reset();
 		if ($sqls === FALSE)
 		{
diff --git a/system/database/drivers/cubrid/cubrid_forge.php b/system/database/drivers/cubrid/cubrid_forge.php
index 05762ba..9a7cdb8 100644
--- a/system/database/drivers/cubrid/cubrid_forge.php
+++ b/system/database/drivers/cubrid/cubrid_forge.php
@@ -108,12 +108,8 @@
 			}
 			else
 			{
-				$sqls[] = $sql.' CHANGE '.$this->_process_column($field[$i]);
-				if ( ! empty($field[$i]['new_name']))
-				{
-					$sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
-						.' AS '.$this->db->escape_identifiers($field[$i]['name']);
-				}
+				$alter_type = empty($field[$i]['new_name']) ? ' MODIFY ' : ' CHANGE ';
+				$sqls[] = $sql.$alter_type$this->_process_column($field[$i]);
 			}
 		}
 
@@ -139,7 +135,7 @@
 		}
 
 		return $this->db->escape_identifiers($field['name'])
-			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
+			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
 			.$field['unsigned']
 			.$field['null']
diff --git a/system/database/drivers/ibase/ibase_forge.php b/system/database/drivers/ibase/ibase_forge.php
index a0c4e65..39c7828 100644
--- a/system/database/drivers/ibase/ibase_forge.php
+++ b/system/database/drivers/ibase/ibase_forge.php
@@ -137,7 +137,7 @@
 
 		$sql = 'ALTER TABLE '.$this->db->escape_identifiers($table);
 		$sqls = array();
-		for ($i = 0, $c = count($field), $sql .= $alter_type.' '; $i < $c; $i++)
+		for ($i = 0, $c = count($field); $i < $c; $i++)
 		{
 			if ($field[$i]['_literal'] !== FALSE)
 			{
@@ -146,13 +146,14 @@
 
 			if (isset($field[$i]['type']))
 			{
-				$sqls[] = $sql.' TYPE '.$field[$i]['type'].$field[$i]['length'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identififers($field[$i]['name'])
+					.' TYPE '.$field[$i]['type'].$field[$i]['length'];
 			}
 
 			if ( ! empty($field[$i]['default']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
-					.' SET '.$field[$i]['default'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' SET DEFAULT '.$field[$i]['default'];
 			}
 
 			if (isset($field[$i]['null']))
@@ -165,7 +166,7 @@
 
 			if ( ! empty($field[$i]['new_name']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.' TO '.$this->db->escape_identifiers($field[$i]['new_name']);
 			}
 		}
diff --git a/system/database/drivers/mysql/mysql_forge.php b/system/database/drivers/mysql/mysql_forge.php
index 6c5dfc6..1e9145e 100644
--- a/system/database/drivers/mysql/mysql_forge.php
+++ b/system/database/drivers/mysql/mysql_forge.php
@@ -157,7 +157,7 @@
 		}
 
 		return $this->db->escape_identifiers($field['name'])
-			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
+			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
 			.$field['unsigned']
 			.$field['null']
diff --git a/system/database/drivers/mysqli/mysqli_forge.php b/system/database/drivers/mysqli/mysqli_forge.php
index a70eef8..1a6e284 100644
--- a/system/database/drivers/mysqli/mysqli_forge.php
+++ b/system/database/drivers/mysqli/mysqli_forge.php
@@ -157,7 +157,7 @@
 		}
 
 		return $this->db->escape_identifiers($field['name'])
-			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
+			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
 			.$field['unsigned']
 			.$field['null']
diff --git a/system/database/drivers/oci8/oci8_forge.php b/system/database/drivers/oci8/oci8_forge.php
index bd9d2df..a0efa95 100644
--- a/system/database/drivers/oci8/oci8_forge.php
+++ b/system/database/drivers/oci8/oci8_forge.php
@@ -105,7 +105,7 @@
 
 		$sql .= ' '.$alter_type.' ';
 		$sql .= (count($field) === 1)
-				? $fields[0]
+				? $field[0]
 				: '('.implode(',', $field).')';
 
 		// RENAME COLUMN must be executed after MODIFY
diff --git a/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php b/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php
index e8421ec..cb7d9e6 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_cubrid_forge.php
@@ -108,12 +108,8 @@
 			}
 			else
 			{
-				$sqls[] = $sql.' CHANGE '.$this->_process_column($field[$i]);
-				if ( ! empty($field[$i]['new_name']))
-				{
-					$sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
-						.' AS '.$this->db->escape_identifiers($field[$i]['name']);
-				}
+				$alter_type = empty($field[$i]['new_name']) ? ' MODIFY ' : ' CHANGE ';
+				$sqls[] = $sql.$alter_type.$this->_process_column($field[$i]);
 			}
 		}
 
@@ -139,7 +135,7 @@
 		}
 
 		return $this->db->escape_identifiers($field['name'])
-			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
+			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
 			.$field['unsigned']
 			.$field['null']
diff --git a/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php b/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php
index 474188f..7b86de9 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_firebird_forge.php
@@ -123,7 +123,7 @@
 
 		$sql = 'ALTER TABLE '.$this->db->escape_identifiers($table);
 		$sqls = array();
-		for ($i = 0, $c = count($field), $sql .= $alter_type.' '; $i < $c; $i++)
+		for ($i = 0, $c = count($field); $i < $c; $i++)
 		{
 			if ($field[$i]['_literal'] !== FALSE)
 			{
@@ -132,13 +132,14 @@
 
 			if (isset($field[$i]['type']))
 			{
-				$sqls[] = $sql.' TYPE '.$field[$i]['type'].$field[$i]['length'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' TYPE '.$field[$i]['type'].$field[$i]['length'];
 			}
 
 			if ( ! empty($field[$i]['default']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
-					.' SET '.$field[$i]['default'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' SET DEFAULT '.$field[$i]['default'];
 			}
 
 			if (isset($field[$i]['null']))
@@ -151,7 +152,7 @@
 
 			if ( ! empty($field[$i]['new_name']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.' TO '.$this->db->escape_identifiers($field[$i]['new_name']);
 			}
 		}
diff --git a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
index 866b6fb..85d9445 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_mysql_forge.php
@@ -171,7 +171,7 @@
 		}
 
 		return $this->db->escape_identifiers($field['name'])
-			.(empty($field['new_name']) ? '' : $this->db->escape_identifiers($field['new_name']))
+			.(empty($field['new_name']) ? '' : ' '.$this->db->escape_identifiers($field['new_name']))
 			.' '.$field['type'].$field['length']
 			.$field['unsigned']
 			.$field['null']
diff --git a/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php b/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php
index 8052d21..6d51a14 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_oci_forge.php
@@ -105,7 +105,7 @@
 
 		$sql .= ' '.$alter_type.' ';
 		$sql .= (count($field) === 1)
-				? $fields[0]
+				? $field[0]
 				: '('.implode(',', $field).')';
 
 		// RENAME COLUMN must be executed after MODIFY
diff --git a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
index 484c160..a24c898 100644
--- a/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
+++ b/system/database/drivers/pdo/subdrivers/pdo_pgsql_forge.php
@@ -103,7 +103,7 @@
 
 		$sql = 'ALTER TABLE '.$this->db->escape_identifiers($table);
 		$sqls = array();
-		for ($i = 0, $c = count($field), $sql .= $alter_type.' '; $i < $c; $i++)
+		for ($i = 0, $c = count($field); $i < $c; $i++)
 		{
 			if ($field[$i]['_literal'] !== FALSE)
 			{
@@ -112,24 +112,25 @@
 
 			if (version_compare($this->db->version(), '8', '>=') && isset($field[$i]['type']))
 			{
-				$sqls[] = $sql.' TYPE '.$field[$i]['type'].$field[$i]['length'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' TYPE '.$field[$i]['type'].$field[$i]['length'];
 			}
 
 			if ( ! empty($field[$i]['default']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
-					.' SET '.$field[$i]['default'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' SET DEFAULT '.$field[$i]['default'];
 			}
 
 			if (isset($field[$i]['null']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.($field[$i]['null'] === TRUE ? ' DROP NOT NULL' : ' SET NOT NULL');
 			}
 
 			if ( ! empty($field[$i]['new_name']))
 			{
-				$sqls[] = $sql.' RENAME '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.' TO '.$this->db->escape_identifiers($field[$i]['new_name']);
 			}
 		}
diff --git a/system/database/drivers/postgre/postgre_forge.php b/system/database/drivers/postgre/postgre_forge.php
index 425622f..5e37838 100644
--- a/system/database/drivers/postgre/postgre_forge.php
+++ b/system/database/drivers/postgre/postgre_forge.php
@@ -96,7 +96,7 @@
 
 		$sql = 'ALTER TABLE '.$this->db->escape_identifiers($table);
 		$sqls = array();
-		for ($i = 0, $c = count($field), $sql .= $alter_type.' '; $i < $c; $i++)
+		for ($i = 0, $c = count($field); $i < $c; $i++)
 		{
 			if ($field[$i]['_literal'] !== FALSE)
 			{
@@ -105,24 +105,25 @@
 
 			if (version_compare($this->db->version(), '8', '>=') && isset($field[$i]['type']))
 			{
-				$sqls[] = $sql.' TYPE '.$field[$i]['type'].$field[$i]['length'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' TYPE '.$field[$i]['type'].$field[$i]['length'];
 			}
 
 			if ( ! empty($field[$i]['default']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
-					.' SET '.$field[$i]['default'];
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+					.' SET DEFAULT '.$field[$i]['default'];
 			}
 
 			if (isset($field[$i]['null']))
 			{
-				$sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.($field[$i]['null'] === TRUE ? ' DROP NOT NULL' : ' SET NOT NULL');
 			}
 
 			if ( ! empty($field[$i]['new_name']))
 			{
-				$sqls[] = $sql.' RENAME '.$this->db->escape_identifiers($field[$i]['name'])
+				$sqls[] = $sql.' RENAME COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
 					.' TO '.$this->db->escape_identifiers($field[$i]['new_name']);
 			}
 		}
